/* 
 * File:   LayoutMakerFacade.h
 * Author: claudio
 *
 * Created on October 9, 2012, 5:07 PM
 */

#ifndef LAYOUTMAKERFACADE_H
#define	LAYOUTMAKERFACADE_H
#include <vector>
#include "Image.h"
#include "Node.h"
#include "BRIC.h"
using namespace std;

class LayoutMakerFacade {
public:
    LayoutMakerFacade(int width, int height, int alpha, int beta, int L);
    LayoutMakerFacade(const LayoutMakerFacade& orig);
    virtual ~LayoutMakerFacade();
    void addImage(Image* img);
    Node* renderSolution();
    void setL(int L);
    int getL() const;
    void setBeta(int beta);
    int getBeta() const;
    void setAlpha(int alpha);
    int getAlpha() const;
    void setHeight(int height);
    int getHeight() const;
    void setWidth(int width);
    int getWidth() const;
private:
    vector<Image*>* image_list;
    BRIC* bric;
    int width;
    int height;
    int alpha;
    int beta;
    int L;

};

#endif	/* LAYOUTMAKERFACADE_H */

